package annotation;

import java.util.ResourceBundle;

/**
 * 利用反射机制获取类上的注解
 * 首先 拿其被修饰的类 Anno1Test的注解
 */
public class ReflectAnno {
    public static void main(String[] args) throws ClassNotFoundException {
        //1--拿到类
        Class c = Class.forName(ResourceBundle.getBundle("classinfo2").getString("className2"));
        //2--判断类上面是否有annotation注释
        System.out.println(c.isAnnotationPresent(MyAnno1.class));//true
        //3--如果有 就获取注解对象
        if (c.isAnnotationPresent(MyAnno1.class)){
            MyAnno1 myAnno1 = (MyAnno1) c.getAnnotation(MyAnno1.class);
            System.out.println("类上面的注解："+myAnno1);
            //4--获取注释的属性，同调用接口
            System.out.println(myAnno1.value());//没有赋值的情况下 反悔了默认值 hqq
        }


        //判断string类上有没有
        Class string = Class.forName("java.lang.String");
        System.out.println(string.isAnnotationPresent(MyAnno1.class));


    }
}
